//模拟用户信息数据
function createUserList() {
  return [
    {
      userId: 1,
      avatar:
        'https://gss0.baidu.com/70cFfyinKgQFm2e88IuM_a/baike/pic/item/ac6eddc451da81cb27851a995d66d01609243106.jpg',
      username: 'admin',
      password: '111111',
      desc: '平台管理员',
      roles: ['平台管理员'],
      buttons: ['cuser.detail'],
      routes: ['home'],
      token: 'Admin Token',
    },
    {
      userId: 2,
      avatar:
        'https://gss0.baidu.com/70cFfyinKgQFm2e88IuM_a/baike/pic/item/ac6eddc451da81cb27851a995d66d01609243106.jpg',
      username: 'system',
      password: '111111',
      desc: '系统管理员',
      roles: ['系统管理员'],
      buttons: ['cuser.detail', 'cuser.user'],
      routes: ['home'],
      token: 'System Token',
    },
  ]
}

//对外暴露一个数组：数组里面包含两个接口
//登录模拟接口和获取用户信息模拟接口
export default [
  {
    url: '/api/user/login', //请求地址
    method: 'post', //请求方法
    response: ({ body }) => {
      const { username, password } = body
      //调用获取用户信息函数，用于判断是否有此用户
      const checkUser = createUserList().find(
        (item) => item.username === username && item.password === password,
      )
      //如果没有此用户，返回失败信息
      if (!checkUser) {
        return {
          code: 201,
          data: {
            message: '用户名或密码错误',
          },
        }
      }
      //如果有此用户，返回成功信息
      const { token } = checkUser
      return {
        code: 200,
        data: {
          token,
        },
      }
    },
  },
  //获取用户信息
  {
    url: '/api/user/info',
    method: 'get',
    response: (request) => {
      //获取请求头携带token
      const token = request.headers.token
      //查看用户信息是否包含有token用户
      const checkUser = createUserList().find((item) => item.token === token)
      //没有返回失败信息
      if (!checkUser) {
        return {
          code: 201,
          data: {
            message: '获取用户信息失败',
          },
        }
      }
      //如果有返回成功信息
      return {
        code: 200,
        data: { checkUser },
      }
    },
  },
]
